#include"log.hpp"
#include <fcntl.h>
void daemonize()
{
    int fd;
    signal(SIGPIPE,SIG_IGN);// 忽略SIGPIPE信号，避免写端一直在写，读端关闭，写端被信号终止

    if(fork()>0)
        exit(0);// 让自己不成为进程组的组长，可以调用setsid

    setsid();//设置自己为独立会话组

    //重定向0 1 2 到 /dev/null linux下的垃圾桶
    if((fd = open("/dev/null",O_RDWR))!=-1)
    {
        dup2(fd,0);
        dup2(fd,1);
        dup2(fd,2);
    }
    close(fd);
}